Delete: ডেটা ডিলিট করা

Database Tutorials - এইচ২ ডাটাবেস (H2 Database) H2 Database এর CRUD অপারেশন |
237
237

H2 ডেটাবেজে ডেটা ডিলিট (Delete) করার জন্য SQL-এর DELETE কমান্ড ব্যবহৃত হয়। এই কমান্ডটি একটি নির্দিষ্ট শর্তের (condition) ভিত্তিতে টেবিল থেকে রেকর্ড (row) মুছে দেয়। এটি ফিজিক্যাল ডিলিট (physical delete) অর্থাৎ ডেটাবেজ থেকে সম্পূর্ণভাবে রেকর্ড মুছে ফেলে।


DELETE কমান্ডের মৌলিক সিনট্যাক্স

DELETE FROM table_name WHERE condition;
  • table_name: যে টেবিল থেকে ডেটা ডিলিট করতে চান তার নাম।
  • condition: যে শর্তে ডেটা ডিলিট করতে চান, এটি নির্দিষ্ট করা হয়। যদি শর্ত না থাকে, তাহলে পুরো টেবিলের সমস্ত রেকর্ড ডিলিট হয়ে যাবে।

উদাহরণ:

১. নির্দিষ্ট রেকর্ড ডিলিট করা

ধরা যাক, আপনার একটি students নামে টেবিল আছে, যেখানে ছাত্রদের তথ্য রয়েছে, এবং আপনি একটি নির্দিষ্ট ছাত্রের রেকর্ড মুছে ফেলতে চান।

DELETE FROM students WHERE student_id = 10;

এটি student_id কলামে 10 থাকা ছাত্রের রেকর্ডটি মুছে ফেলবে।

২. সমস্ত রেকর্ড ডিলিট করা

যদি আপনি students টেবিল থেকে সমস্ত রেকর্ড মুছে ফেলতে চান, তবে WHERE ক্লজ ছাড়া কমান্ড ব্যবহার করতে হবে:

DELETE FROM students;

এটি টেবিলের সমস্ত রেকর্ড মুছে ফেলবে, তবে টেবিলের গঠন বা স্ট্রাকচার অপরিবর্তিত থাকবে।

৩. ইনপুট ভ্যালু অনুযায়ী ডিলিট করা

আপনি যদি কোনো নির্দিষ্ট ইনপুটের ভিত্তিতে ডেটা ডিলিট করতে চান, তবে একটি শর্ত ব্যবহার করতে পারেন। উদাহরণস্বরূপ, যদি students টেবিলের কোনো ছাত্রের নাম "John Doe" হয় এবং আপনি তার রেকর্ড মুছে ফেলতে চান:

DELETE FROM students WHERE name = 'John Doe';

DELETE এবং TRUNCATE এর মধ্যে পার্থক্য

  • DELETE: এটি নির্দিষ্ট শর্ত অনুযায়ী রেকর্ড মুছে দেয়। আপনি শর্ত না দিলে, সব রেকর্ড ডিলিট হবে, তবে টেবিলের স্ট্রাকচার অপরিবর্তিত থাকে।
  • TRUNCATE: এটি সমস্ত রেকর্ড মুছে দেয়, তবে এর ব্যবহার সাধারণত পারফরম্যান্সের জন্য এবং এটি সমস্ত রেকর্ড মুছে ফেলতে দ্রুততর হয়।

DELETE কমান্ডের বৈশিষ্ট্য

  • Transaction Safe: DELETE কমান্ড একটি transactional অপারেশন, যার মানে হল যে এটি rollback করা যেতে পারে যদি কোনও সমস্যা হয়।
  • Condition Based Deletion: এটি শর্তসাপেক্ষ ডিলিট করতে দেয়, যেমন WHERE ক্লজ ব্যবহার করে একাধিক রেকর্ড ডিলিট করা সম্ভব।
  • Slow on Large Tables: বড় টেবিল থেকে ডেটা মুছে ফেলা হলে এটি কিছুটা ধীর হতে পারে, কারণ প্রতিটি রেকর্ডের জন্য একটি lock প্রয়োগ করা হয়।

DELETE অপারেশন সম্পর্কে গুরুত্বপূর্ণ টিপস

  • Backups: ডেটা ডিলিট করার আগে অবশ্যই ব্যাকআপ নেওয়া উচিত, কারণ একবার ডেটা মুছে ফেললে তা পুনরুদ্ধার করা কঠিন।
  • WHERE ক্লজ ব্যবহার করুন: যদি আপনি ভুলভাবে DELETE কমান্ড চালান এবং শর্ত না দেন, তবে পুরো টেবিলের সমস্ত ডেটা মুছে যাবে। তাই WHERE ক্লজ ব্যবহার খুবই গুরুত্বপূর্ণ।
  • Performance Consideration: অনেক রেকর্ড ডিলিট করতে চাইলে DELETE অপারেশন পারফরম্যান্সের জন্য ধীর হতে পারে। বড় টেবিলের জন্য ট্রানজেকশন ব্যবহার করা ভাল।

সারাংশ

H2 ডেটাবেজে DELETE কমান্ড ব্যবহার করে আপনি নির্দিষ্ট শর্ত অনুযায়ী ডেটা ডিলিট করতে পারেন। তবে এটি ব্যবহারের সময় সাবধানতা অবলম্বন করা জরুরি, বিশেষ করে যদি শর্ত সঠিকভাবে না দেওয়া হয়। DELETE কমান্ড ডেটা মুছে ফেললেও টেবিলের গঠন অপরিবর্তিত থাকে এবং এটি ট্রানজেকশনাল অপারেশন, তাই ভুল হলে সহজে রোলব্যাক করা যায়।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion